home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 335_03 / as8096.txt < prev    next >
Text File  |  1990-12-02  |  24KB  |  859 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        A.  Appendix_for_as8096_Frankenstein_Assembler
  9.  
  10.        A.1  Pseudo_Operations
  11.  
  12.        A.1.1  Standard_Pseudo_Operation_Mnemonics
  13.  
  14.             End                                END
  15.             File Inclusion                     INCL INCLUDE
  16.             If                                 IF
  17.             Else                               ELSE
  18.             End If                             ENDI
  19.             Equate                             EQU
  20.             Set                                SET
  21.             Org                                ORG
  22.             Reserve Memory                     DSB RESERVE RMB
  23.             Define Byte Data                   BYTE DCB FCB
  24.             Define String Data                 FCC STRING
  25.             Define Character Set Translation   CHARSET
  26.             Define Character Value             CHARDEF CHD
  27.             Use Character Translation          CHARUSE
  28.  
  29.        A.1.2  Machine_Dependent_Pseudo_Operations
  30.  
  31.        A.1.2.1  Define_Word_Data,_Aligned
  32.  
  33.             [Label]  WORD  expression [, expression] ...
  34.             [Label]  FDB   expression [, expression] ...
  35.             [Label]  DCW  expression [, expression] ...
  36.  
  37.        The define word statement generates a two byte integer for
  38.        each expression in the expression list.  There can be up to
  39.        128 expressions on a line, more than the line length will
  40.        allow.  The location counter is adjusted by skipping bytes
  41.        to make the first location address divisible by 2.  The
  42.        generated constants are in byte reversed order, with the low
  43.        order byte first, followed by the high order byte.  The
  44.        optional label is set to the first location of this area.
  45.  
  46.        A.1.2.2  Define_Long_Word_Data,_Aligned
  47.  
  48.             [Label]  LONG  expression [, expression] ...
  49.             [Label]  DCL  expression [, expression] ...
  50.  
  51.        The define long word statement generates a four byte integer
  52.        for each expression in the expression list.  There can be up
  53.        to 128 expressions on a line, more than the line length will
  54.        allow.  The location counter is adjusted by skipping bytes
  55.        to make the first location address divisible by 4.  The
  56.        generated constants are in byte reversed order, with the low
  57.        order byte first, followed by the high order bytes.  The
  58.        optional label is set to the first location of this area.
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.        A.1.2.3  Reserve_Memory,_Word_Aligned
  75.  
  76.             [Label] DSW expression
  77.  
  78.        This statement moves the location counter forward by the
  79.        number of bytes specified in the expression.  The location
  80.        counter is adjusted by skipping bytes to make the first
  81.        location address divisible by 2.  The label is set to the
  82.        first location of this area.
  83.  
  84.        A.1.2.4  Reserve_Memory,_Long_Word_Aligned
  85.  
  86.             [Label] DSL expression
  87.  
  88.        This statement moves the location counter forward by the
  89.        number of long words specified in the expression.  The
  90.        location counter is adjusted by skipping bytes to make the
  91.        first location address divisible by 4.  The label is set to
  92.        the first location of this area.
  93.  
  94.        A.1.2.5  Instruction_Set_Selection
  95.  
  96.             CPU string
  97.  
  98.        The instruction set can be specified in the source file with
  99.        the CPU pseudooperation.  The string, delimited by quotes or
  100.        apostrophes, is scanned for a substring which selects which
  101.        instruction set is used.  When the program is invoked, this
  102.        operation is performed on the name of the program, then the
  103.        -p optional arguement, if any, and then any CPU statements.
  104.        The last one selects which subset of the instructions the
  105.        assembler will accept.  The instruction set can be changed
  106.        at any place in the source file.
  107.  
  108.             Instruction Set          Substrings
  109.             80c196                   19
  110.             8096                     9
  111.  
  112.        A.2  Instructions
  113.  
  114.        A.2.1  Instruction_List
  115.  
  116.        Opcode   Syntax                                 Selection Criteria
  117.  
  118.  
  119.        ADD       expr ',' '#' expr
  120.        ADD       expr ',' '[' expr ']'
  121.        ADD       expr ',' expr ',' '#' expr
  122.        ADD       expr ',' expr ',' '[' expr ']'
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.        Opcode   Syntax                                 Selection Criteria
  141.  
  142.        ADD       expr ',' expr ',' expr '[' expr ']'   DIRECT
  143.        ADD       expr ',' expr ',' expr '[' expr ']'   EXTENDED
  144.        ADD       expr ',' expr ',' expr                DIRECT
  145.        ADD       expr ',' expr ',' expr                EXTENDED
  146.        ADD       expr ',' expr '[' expr ']'            DIRECT
  147.        ADD       expr ',' expr '[' expr ']'            EXTENDED
  148.        ADD       expr ',' expr                         DIRECT
  149.        ADD       expr ',' expr                         EXTENDED
  150.  
  151.        ADDB      expr ',' '#' expr
  152.        ADDB      expr ',' '[' expr ']'
  153.        ADDB      expr ',' expr ',' '#' expr
  154.        ADDB      expr ',' expr ',' '[' expr ']'
  155.        ADDB      expr ',' expr ',' expr '[' expr ']'   DIRECT
  156.        ADDB      expr ',' expr ',' expr '[' expr ']'   EXTENDED
  157.        ADDB      expr ',' expr ',' expr                DIRECT
  158.        ADDB      expr ',' expr ',' expr                EXTENDED
  159.        ADDB      expr ',' expr '[' expr ']'            DIRECT
  160.        ADDB      expr ',' expr '[' expr ']'            EXTENDED
  161.        ADDB      expr ',' expr                         DIRECT
  162.        ADDB      expr ',' expr                         EXTENDED
  163.  
  164.        ADDC      expr ',' '#' expr
  165.        ADDC      expr ',' '[' expr ']'
  166.        ADDC      expr ',' expr '[' expr ']'            DIRECT
  167.        ADDC      expr ',' expr '[' expr ']'            EXTENDED
  168.        ADDC      expr ',' expr                         DIRECT
  169.        ADDC      expr ',' expr                         EXTENDED
  170.  
  171.        ADDCB     expr ',' '#' expr
  172.        ADDCB     expr ',' '[' expr ']'
  173.        ADDCB     expr ',' expr '[' expr ']'            DIRECT
  174.        ADDCB     expr ',' expr '[' expr ']'            EXTENDED
  175.        ADDCB     expr ',' expr                         DIRECT
  176.        ADDCB     expr ',' expr                         EXTENDED
  177.  
  178.        AND       expr ',' '#' expr
  179.        AND       expr ',' '[' expr ']'
  180.        AND       expr ',' expr ',' '#' expr
  181.        AND       expr ',' expr ',' '[' expr ']'
  182.        AND       expr ',' expr ',' expr '[' expr ']'   DIRECT
  183.        AND       expr ',' expr ',' expr '[' expr ']'   EXTENDED
  184.        AND       expr ',' expr ',' expr                DIRECT
  185.        AND       expr ',' expr ',' expr                EXTENDED
  186.        AND       expr ',' expr '[' expr ']'            DIRECT
  187.        AND       expr ',' expr '[' expr ']'            EXTENDED
  188.        AND       expr ',' expr                         DIRECT
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.        Opcode   Syntax                                 Selection Criteria
  207.  
  208.        AND       expr ',' expr                         EXTENDED
  209.  
  210.        ANDB      expr ',' '#' expr
  211.        ANDB      expr ',' '[' expr ']'
  212.        ANDB      expr ',' expr ',' '#' expr
  213.        ANDB      expr ',' expr ',' '[' expr ']'
  214.        ANDB      expr ',' expr ',' expr '[' expr ']'   DIRECT
  215.        ANDB      expr ',' expr ',' expr '[' expr ']'   EXTENDED
  216.        ANDB      expr ',' expr ',' expr                DIRECT
  217.        ANDB      expr ',' expr ',' expr                EXTENDED
  218.        ANDB      expr ',' expr '[' expr ']'            DIRECT
  219.        ANDB      expr ',' expr '[' expr ']'            EXTENDED
  220.        ANDB      expr ',' expr                         DIRECT
  221.        ANDB      expr ',' expr                         EXTENDED
  222.  
  223.        BMOV      expr ',' expr                         CPU196
  224.  
  225.        BR        '[' expr ']'
  226.  
  227.        CLR       expr
  228.  
  229.        CLRB      expr
  230.  
  231.        CLRC
  232.  
  233.        CLRVT
  234.  
  235.        CMP       expr ',' '#' expr